package com.wms.util;

import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Date;

/**
 * @author TianWenHe
 * @date 2025/4/28
 * @desc
 */
public class DateUtils {

    /**
     * 给指定日期增加固定8小时
     *
     * @param date 原始日期
     * @return 增加8小时后的日期
     */
    public static Date addFixedEightHours(Date date) {
        if (date == null) {
            throw new IllegalArgumentException("日期不能为空");
        }
        ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
        zonedDateTime = zonedDateTime.plusHours(8); // 固定增加8小时
        return Date.from(zonedDateTime.toInstant());
    }

    /**
     * 给指定日期减少固定8小时
     *
     * @param date 原始日期
     * @return 减少8小时后的日期
     */
    public static Date subtractFixedEightHours(Date date) {
        if (date == null) {
            throw new IllegalArgumentException("日期不能为空");
        }
        ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
        zonedDateTime = zonedDateTime.minusHours(8); // 固定减少8小时
        return Date.from(zonedDateTime.toInstant());
    }
}
